package com.ysh.service.impl;

import com.ysh.domain.User;
import com.ysh.mapper.UserMapper;
import com.ysh.service.UserService;
import com.ysh.utils.MapperUtils;

import java.rmi.server.UID;
import java.util.List;
import java.util.UUID;

/*
 Service接口实现
 */
public class UserServiceImpl implements UserService {


    // 获取mapper对象
    private UserMapper userMapper = (UserMapper) MapperUtils.getMapper(UserMapper.class);

    // 查询所有
    @Override
    public List<User> findAll() {
        // 执行查询方法
        List<User> list = userMapper.findAll();
        // 返回查询的结果集
        return list;
    }

    // 添加功能
    @Override
    public int addUser(User user) {
        // 需要处理user对象中的id
        // 生成唯一id标识
        String uid = UUID.randomUUID().toString().replaceAll("-","");
        user.setId(uid);
        return userMapper.addUser(user);
    }

    // 删除功能
    @Override
    public void deleteByIds(String uid) {
        // 可能会有多个id，以逗号隔开，所以需要分割处理 split()
        if (uid!=null && uid.length()>0){
            // 分割字符串
            String[] uids = uid.split(",");
            // for (String s : uids){
            //     userMapper.deleteById(uid);
            // }
            // 持久层处理删除操作
            userMapper.deleteByIds(uids);
        }

    }

    // 根据id查询
    @Override
    public User findById(String uid) {
        return userMapper.findById(uid);
    }

    // 修改
    @Override
    public void update(User user) {
        userMapper.updateById(user);
    }
}
